B. Pro 18 Aplikasi Web Studi Kasus
Referensi pembuatan aplikai ini dari Traveloka saya beri nama TravelAir
Membuat
Project baru dengan nama TravelAir
Membuat style.css
Source
Code style.css
@import 'https://fonts.googleapis.com/css?family=Montserrat:400,700|Roboto:300i,300,400,500';
* {
box-sizing: border-box;
}
body{
background: #eee;
font-family: arial, "roboto";
margin: 0;
padding: 0px;
font-size: 14px;
font-weight: 300;
position: relative;
}
header {
padding: 50px;
text-align: center;
background: #ff9c71;
color: white;
border-radius: 5px 5px 0px 0px;
}
header h1 {
font-size: 40px;
margin: 5px;
}
header p {
margin: 0px;
}
.container {
width: 1020px;
padding-right: 15px;
padding-left: 15px;
margin: 20px auto;
}
.topnav {
overflow: hidden;
background-color: #726a95;
border-radius: 0px 0px 5px 5px;
}
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.active {
background-color: #f05454;
color: white;
}
.topnav .icon {
display: none;
}
.dropdown {
float: left;
overflow: hidden;
}
.dropdown .dropbtn {
font-size: 17px;
border: none;
outline: none;
color: white;
padding: 14px 16px;
background-color: inherit;
font-family: inherit;
margin: 0;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
float: none;
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.topnav a:hover, .dropdown:hover .dropbtn {
background-color: #ec524b;
color: white;
}
.dropdown-content a:hover {
background-color: #ddd;
color: black;
}
.dropdown:hover .dropdown-content {
display: block;
}
#content {
width: 100%;
background-color: white;
padding: 20px;
margin-top: 20px;
margin-bottom: 20px;
border-radius: 5px;
}
#content img {
background-color: #f8efd4;
width: 100%;
padding: 5px;
border-radius: 5px;
}
#content h2 {
margin: 5px 0px;
}
#content p {
margin: 0px;
}
#sub {
width: 50%;
text-align: center;
}
form {
text-align: left;
}
article {
background-color: white;
padding: 20px;
margin-top: 20px;
border-radius: 5px;
}
article h5 {
color: gray;
text-align: right;
font-size: 12px;
margin: 0px 0px 10px 0px;
display: block;
}
article a {
text-decoration: none;
font-style: italic;
color: #d7385e;
}
aside {
float: right;
width: 29%;
margin-bottom: 20px;
}
.side {
background-color: white;
padding: 10px;
margin-top: 20px;
border-radius: 5px;
}
.side h2 {
color: white;
margin: 0px;
background-color: #0d7377;
padding: 5px;
font-size: 20px;
border-radius: 2px;
margin-bottom: 5px;
text-align: center;
}
.side img {
width: 100%;
border-radius: 5px;
}
.sidenav {
width: 100%;
position: relative;
background-color: #00587a;
overflow-x: hidden;
border-radius: 2px;
}
.sidenav a, .dropdown-btn {
padding: 6px 8px 6px 8px;
text-decoration: none;
font-size: 17px;
color: white;
display: block;
background: none;
width: 100%;
text-align: left;
cursor: pointer;
outline: none;
border: 1px solid;
}
.sidenav a:hover, .dropdown-btn:hover {
color: #f1f1f1;
}
.main {
margin-left: 200px;
font-size: 20px;
padding: 0px 10px;
}
.sidenav .active {
background-color: #008891;
color: white;
}
.dropdown-container {
display: none;
background-color: #8bcdcd;
border: 2px;
}
.sidenav .fa-caret-down {
float: right;
padding-right: 8px;
}
footer {
position: relative;
overflow: hidden;
width: 100%;
padding: 10px;
text-align: center;
background: #ff9c71;
color: white;
border-radius: 5px;
}
footer p {
margin: 0px;
}
input[type=text], input[type=number], input[type=tel], input[type=password], input[type=date], select, textarea {
width: 100%;
padding: 12px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
input[type=submit] {
width: 100%;
background-color: #7e7474;
color: white;
padding: 10px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 18px;
font-weight: bold;
}
input[type=submit]:hover {
background-color: #39311d;
}
#login {border: 3px solid #f1f1f1;}
.logincontainer button {
background-color: #2c82c9;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
.logincontainer button:hover {
opacity: 0.8;
}
#cancelbtn {
width: auto;
padding: 10px 18px;
background-color: #9ad3bc;
}
.logincontainer {
padding: 16px;
}
#simpan, #hapus, #lihat, #sebelum, #pilih, #sesudah, #tampil, #sblm, #plh, #ssdh {
width: 30%;
margin: 5px;
}
#mulai, #jml {
width: 18%;
margin: 5px;
}
.tbl {
margin: 10px;
}
td {
padding: 5px;
}
table#t01 tr:nth-child(even) {
background-color: #eee;
}
table#t01 tr:nth-child(odd) {
background-color:#fff;
}
table#t01 th{
background-color: #726a95;
color: white;
padding: 5px;
}
#subcontent {
width: 60%;
}
#lama {
width: 93%;
}
/* Responsive layout */
@media screen and (max-device-width: 800px) {
body {
padding: 0px;
}
#content, aside {
width: 100%;
}
}
@media screen and (max-width: 600px) {
.topnav a:not(:first-child), .dropdown .dropbtn {
display: none;
}
.topnav a.icon {
float: right;
display: block;
}
}
@media screen and (max-width: 600px) {
.topnav.responsive {position: relative;}
.topnav.responsive .icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
.topnav.responsive .dropdown {
float: none;
}
.topnav.responsive .dropdown-content {
position: relative;
}
.topnav.responsive .dropdown .dropbtn {
display: block;
width: 100%;
text-align: left;
}
#simpan, #hapus, #lihat, #sebelum, #pilih, #sesudah, #tampil, #sblm, #plh, #ssdh {
width: 100%;
margin: 0px 0px 5px;
}
#mulai, #jml {
width: 30%;
}
#subcontent {
width: 100%;
}
#lama {
width: 90%;
}
#t01 {
display: grid;
}
}
@media screen and (max-width:1249px) {
.container {
width:1170px
}
}
@media screen and (max-width:1199px) {
.container {
width:970px
}
}
@media screen and (max-width:991px) {
.container {
width:100%;
padding-left:10px;
padding-right:10px
}
}
@media screen and (max-height: 450px) {
.sidenav {padding-top: 15px;}
.sidenav a {font-size: 18px;}
}
@media screen and (max-width: 300px) {
span.psw {
display: block;
float: none;
}
.cancelbtn {
width: 100%;
}
}
Membuat menu Master Data, Transaksi, Laporan
Source
Code Index.jsp
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TravelAir</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="script.js"></script>
</head>
<body>
<div class="container">
<header>
<h1>TravelAir</h1>
<p>Jual tiket pesawat dengan harga termurah.</p>
</header>
<%
String topMenu = "<a href=. class='active'>Home</a>"
+ "<a href=LoginController>Login</a>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Master Data "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=DataTiketController>Data Tiket</a>"
+ "<a href=DataCustomerController>Data Customer</a>"
+ "<a href=DataUserController>Data User</a>"
+ "</div>"
+ "</div>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Data Transaksi "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "</div>"
+ "</div>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Laporan "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=LaporanPenjualanTiketController>Penjualan Tiket</a>"
+ "<a href=StokTiketController>Stok Tiket</a>"
+ "</div>"
+ "</div>"
+ "<a href=About>About</a>"
+ "<a href='javascript:void(0);' style='font-size:15px;' class='icon' onclick='myFunction()'>☰</a>";
String sideMenu = "<h2>Menu</h2>"
+ "<div class='sidenav'>"
+ "<a href=LoginController>Login</a>"
+ "<button class='dropdown-btn'>Master Data "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=DataTiketController>Data Tiket</a>"
+ "<a href=DataCustomerController>Data Customer</a>"
+ "<a href=DataUserController>Data User</a>"
+ "</div>"
+ "<button class='dropdown-btn'>Transaksi "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "</div>"
+ "<button class='dropdown-btn'>Laporan "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "<a href=StokTiketController>Stok Tiket</a>"
+ "</div>"
+ "</div>";
String konten = "<h2>Selamat Datang</h2>";
String paragraf = "<p>Kami menyediakan tiket penerbangan antar kota dalam negeri dari berbagai maskapai penerbangan.<br>Hubungi kami sekarang juga.</p>";
String userName = "";
if (!session.isNew()) {
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (!((userName == null) || userName.equals(""))) {
konten = "<h2>Selamat Datang " + userName + "</h2>";
try {
sideMenu = session.getAttribute("sideMenu").toString();
} catch (Exception ex) {
}
try {
topMenu = session.getAttribute("topMenu").toString();
} catch (Exception ex) {
}
}
}
%>
<div class="topnav" id="myTopnav">
<%=topMenu%>
</div>
<main>
<div id="content">
<%=konten%>
<%=paragraf%>
</div>
</main>
<footer>
<p>Copyright © 2020 TravelAir<br>Created by Akhmad Fikri Septiawan</p>
</footer>
</div>
<script type="text/javascript">
var dropdown = document.getElementsByClassName("dropdown-btn");
var i;
for (i = 0; i < dropdown.length; i++) {
dropdown[i].addEventListener("click", function () {
this.classList.toggle("active");
var dropdownContent = this.nextElementSibling;
if (dropdownContent.style.display === "block") {
dropdownContent.style.display = "none";
} else {
dropdownContent.style.display = "block";
}
});
}
</script>
</body>
</html>
Output:
Membuat Fasilitas Login
Source
Code LoginController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
String userName = "";
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (((userName == null) || userName.equals(""))) {
String username = request.getParameter("username");
String password = request.getParameter("password");
String konten = "<form id='login' action=LoginController method=post>"
+ "<div class='logincontainer'>"
+ "<label for='username'><b>Username</b></label>"
+ "<input class='inputlogin' type='text' placeholder='Enter Username' name='username' required>"
+ "<label for='password'><b>Password</b></label>"
+ "<input type='password' placeholder='Enter Password' name='password' required>"
+ "<input type='submit'>"
+ "</div>"
+ "<div class='logincontainer' style='background-color:#f1f1f1'>"
+ "<button type='button' id='cancelbtn' onclick=document.location='.'>Cancel</button>"
+ "</div>"
+ "</form>";
String pesan = "";
if (username == null) {
} else if (username.equals("")) {
pesan = "<br><br><font style='color:red'>Username harus diisi</font>";
} else {
DataUser dataUser = new DataUser();
Enkripsi enkripsi = new Enkripsi();
pesan = "<br><br><font style='color:red'>Username atau password salah</font>";
if (dataUser.baca(username)) {
String passwordEncrypted = "";
try {
passwordEncrypted = enkripsi.hashMD5(password);
} catch (Exception ex) {
}
if (passwordEncrypted.equals(dataUser.getPassword())) {
pesan = "";
session.setAttribute("userName", dataUser.getUsername().equals("") ? "No Name" : dataUser.getUsername());
String topMenu = "<a href=. class='active'>Home</a>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Master Data "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=DataTiketController>Data Tiket</a>"
+ "<a href=DataCustomerController>Data Customer</a>"
+ "<a href=DataUserController>Data User</a>"
+ "</div>"
+ "</div>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Data Transaksi "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "</div>"
+ "</div>"
+ "<div class='dropdown'>"
+ "<button class='dropbtn'>Laporan "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-content'>"
+ "<a href=LaporanPenjualanTiketController>Penjualan Tiket</a>"
+ "<a href=StokTiketController>Stok Tiket</a>"
+ "</div>"
+ "</div>"
+ "<a href=About>About</a>"
+ "<a href=LogoutController>Logout</a>"
+ "<a href='javascript:void(0);' style='font-size:15px;' class='icon' onclick='myFunction()'>☰</a>";
session.setAttribute("topMenu", topMenu);
String sideMenu = "<h2>Menu</h2>"
+ "<div class='sidenav'>"
+ "<a href=LoginController>Login</a>"
+ "<button class='dropdown-btn'>Master Data "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=DataTiketController>Data Tiket</a>"
+ "<a href=DataCustomerController>Data Customer</a>"
+ "<a href=DataUserController>Data User</a>"
+ "</div>"
+ "<button class='dropdown-btn'>Transaksi "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "</div>"
+ "<button class='dropdown-btn'>Laporan "
+ "<i class='fa fa-caret-down'></i>"
+ "</button>"
+ "<div class='dropdown-container'>"
+ "<a href=PenjualanTiketController>Penjualan Tiket</a>"
+ "<a href=StokTiketController>Stok Tiket</a>"
+ "</div>"
+ "<a href=LogoutController>Logout</a>"
+ "</div>";
session.setAttribute("sideMenu", sideMenu);
session.setMaxInactiveInterval(15 * 60); // 15 x 60 detik = 15 menit
konten = "";
}
} else if (!dataUser.getPesan().substring(0, 3).equals("username")) {
pesan = "<br><br><font style='color:red'>" + dataUser.getPesan().replace("n", "<br>") + "</font>";
}
}
new MainForm().tampilkan(konten + pesan, request, response);
} else {
response.sendRedirect(".");
}
}
Output:
Membuat Form untuk Master Data
Data
Tiket
Source
Code DataTiketController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
DataTiket dataTiket = new DataTiket();
String userName = "";
String tombol = request.getParameter("tombol");
String kodeTiket = request.getParameter("kodeTiket");
String maskapai = request.getParameter("maskapai");
String hargaTiket = request.getParameter("hargaTiket");
String stok = request.getParameter("stok");
String kotaAsal = request.getParameter("kotaAsal");
String kotaTujuan = request.getParameter("kotaTujuan");
String mulaiParameter = request.getParameter("mulai");
String jumlahParameter = request.getParameter("jumlah");
String kodeTiketDipilih = request.getParameter("kodeTiketDipilih");
if (tombol == null) {
tombol = "";
}
if (kodeTiket == null) {
kodeTiket = "";
}
if (maskapai == null) {
maskapai = "";
}
if (hargaTiket == null) {
hargaTiket = "";
}
if (stok == null) {
stok = "0";
}
if (kotaAsal == null) {
kotaAsal = "";
}
if (kotaTujuan == null) {
kotaTujuan = "";
}
if (kodeTiketDipilih == null) {
kodeTiketDipilih = "";
}
int mulai = 0, jumlah = 10;
try {
mulai = Integer.parseInt(mulaiParameter);
} catch (NumberFormatException ex) {
}
try {
jumlah = Integer.parseInt(jumlahParameter);
} catch (NumberFormatException ex) {
}
String keterangan = "<br>";
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (!((userName == null) || userName.equals(""))) {
if (tombol.equals("Simpan")) {
if (!kodeTiket.equals("")) {
dataTiket.setKodeTiket(kodeTiket);
dataTiket.setMaskapai(maskapai);
dataTiket.setKotaAsal(kotaAsal);
dataTiket.setKotaTujuan(kotaTujuan);
dataTiket.setHargaTiket(Long.parseLong(hargaTiket));
dataTiket.setStokTiket(Integer.parseInt(stok));
if (dataTiket.simpan()) {
kodeTiket = "";
maskapai = "";
kotaAsal = "";
kotaTujuan = "";
hargaTiket = "0";
stok = "0";
keterangan = "Sudah tersimpan";
} else {
keterangan = "Gagal menyimpan:n" + dataTiket.getPesan();
}
} else {
keterangan = "Gagal menyimpan, kode tiket tidak boleh kosong";
}
} else if (tombol.equals("Hapus")) {
if (!kodeTiket.equals("")) {
if (dataTiket.hapus(kodeTiket)) {
kodeTiket = "";
maskapai = "";
kotaAsal = "";
kotaTujuan = "";
hargaTiket = "0";
stok = "0";
keterangan = "Data sudah dihapus";
} else {
keterangan = "Kode tiket tersebut tidak ada, atau ada kesalahan:n" + dataTiket.getPesan();
}
} else {
keterangan = "Kode tiket masih kosong";
}
} else if (tombol.equals("Cari")) {
if (!kodeTiket.equals("")) {
if (dataTiket.baca(kodeTiket)) {
kodeTiket = dataTiket.getKodeTiket();
maskapai = dataTiket.getMaskapai();
kotaAsal = dataTiket.getKotaAsal();
kotaTujuan = dataTiket.getKotaTujuan();
hargaTiket = Long.toString(dataTiket.getHargaTiket());
stok = Integer.toString(dataTiket.getStokTiket());;
keterangan = "<br>";
} else {
keterangan = "Kode tiket tersebut tidak ada";
}
} else {
keterangan = "Kode tiket masih kosong";
}
} else if (tombol.equals("Pilih")) {
kodeTiket = kodeTiketDipilih;
maskapai = "";
stok = "0";
hargaTiket = "0";
if (!kodeTiketDipilih.equals("")) {
if (dataTiket.baca(kodeTiketDipilih)) {
kodeTiket = dataTiket.getKodeTiket();
maskapai = dataTiket.getMaskapai();
kotaAsal = dataTiket.getKotaAsal();
kotaTujuan = dataTiket.getKotaTujuan();
hargaTiket = Long.toString(dataTiket.getHargaTiket());
stok = Integer.toString(dataTiket.getStokTiket());;
keterangan = "<br>";
} else {
keterangan = "Kode tiket tersebut tidak ada";
}
} else {
keterangan = "Tidak ada yang dipilih";
}
}
String kontenLihat = "";
if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Berikutnya") || tombol.equals("Tampilkan")) {
kontenLihat += "<center>";
kontenLihat += "<div class='tbl'>";
kontenLihat += "<table>";
if (tombol.equals("Sebelum")) {
mulai -= jumlah;
if (mulai < 0) {
mulai = 0;
}
}
if (tombol.equals("Berikutnya")) {
mulai += jumlah;
}
Object[][] listDataTiket = null;
if (dataTiket.bacaData(mulai, jumlah)) {
listDataTiket = dataTiket.getList();
} else {
keterangan = dataTiket.getPesan();
}
if (listDataTiket != null) {
for (int i = 0; i < listDataTiket.length; i++) {
kontenLihat += "<tr>";
kontenLihat += "<td>";
if (i == 0) {
kontenLihat += "<input type='radio' checked name='kodeTiketDipilih' value='" + listDataTiket[i][0].toString() + "'>";
} else {
kontenLihat += "<input type='radio' name='kodeTiketDipilih' value='" + listDataTiket[i][0].toString() + "'>";
}
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][0].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][1].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][2].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][3].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][5].toString();
kontenLihat += "</td>";
kontenLihat += "</tr>";
}
}
kontenLihat += "</table>";
kontenLihat += "</div>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
kontenLihat += "Jumlah";
kontenLihat += "<select id='jml' name='jumlah'>";
for (int i = 1; i <= 10; i++) {
if (jumlah == (i * 10)) {
kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
} else {
kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
}
}
kontenLihat += "</select>";
kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
kontenLihat += "</center>";
}
String konten = "<center><h1>Master Data Tiket</h1></center>";
konten += "<form action='DataTiketController' method='post'>";
konten += "<label for='kodeTiket'><b>Kode Tiket</b></label><br>";
konten += "<input type='text' value='" + kodeTiket + "' name='kodeTiket' maxlength='15' size='15' placeholder='Masukkan Kode Tiket ..' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";
konten += "<label for='maskapai'><b>Nama Maskapai</b></label>";
konten += "<input type='text' value='" + maskapai + "' name='maskapai' maxlength='30' size='30' placeholder='Masukkan Nama Maskapai ..'>";
konten += "<label for='kotaAsal'><b>Kota Asal</b></label>";
konten += "<input type='text' value='" + kotaAsal + "' name='kotaAsal' maxlength='100' size='30' placeholder='Masukkan Kota Asal ..'>";
konten += "<label for='kotaTujuan'><b>Kota Tujuan</b></label>";
konten += "<input type='text' value='" + kotaTujuan + "' name='kotaTujuan' maxlength='100' size='30' placeholder='Masukkan Kota Tujuan ..'>";
konten += "<label for='hargaTiket'><b>Harga Tiket</b></label>";
konten += "<input type='number' value='" + hargaTiket + "' name='hargaTiket' placeholder='Masukkan Harga Tiket ..'>";
konten += "<label for='stok'><b>Stok Tiket</b></label>";
konten += "<input type='number' name='stok' value='" + stok + "' placeholder='Masukkan Stok Tiket ..'>";
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
konten += kontenLihat;
konten += "</form>";
new MainForm().tampilkan(konten, request, response);
} else {
response.sendRedirect(".");
}
}
Output:
Data
Customer
Source
Code DataCustomerController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
DataCustomer dataCustomer = new DataCustomer();
String userName = "";
String tombol = request.getParameter("tombol");
String namaCustomer = request.getParameter("nama");
String alamatCustomer = request.getParameter("alamat");
String telpon = request.getParameter("telepon");
String mulaiParameter = request.getParameter("mulai");
String jumlahParameter = request.getParameter("jumlah");
String namaCustomerDipilih = request.getParameter("namaCustomerDipilih");
if (tombol == null) {
tombol = "";
}
if (namaCustomer == null) {
namaCustomer = "";
}
if (alamatCustomer == null) {
alamatCustomer = "";
}
if (telpon == null) {
telpon = "";
}
if (namaCustomerDipilih == null) {
namaCustomerDipilih = "";
}
int mulai = 0, jumlah = 10;
try {
mulai = Integer.parseInt(mulaiParameter);
} catch (NumberFormatException ex) {
}
try {
jumlah = Integer.parseInt(jumlahParameter);
} catch (NumberFormatException ex) {
}
String keterangan = "<br>";
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (!((userName == null) || userName.equals(""))) {
if (tombol.equals("Simpan")) {
if (!namaCustomer.equals("")) {
dataCustomer.setNamaCustomer(namaCustomer);
dataCustomer.setAlamatCustomer(alamatCustomer);
dataCustomer.setTelpCustomer(telpon);
if (dataCustomer.simpan()) {
namaCustomer = "";
alamatCustomer = "";
telpon = "";
keterangan = "Sudah tersimpan";
} else {
keterangan = "Gagal menyimpan:n" + dataCustomer.getPesan();
}
} else {
keterangan = "Gagal menyimpan, nama customer tidak boleh kosong";
}
} else if (tombol.equals("Hapus")) {
if (!namaCustomer.equals("")) {
if (dataCustomer.hapus(namaCustomer)) {
namaCustomer = "";
alamatCustomer = "";
telpon = "";
keterangan = "Data sudah dihapus";
} else {
keterangan = "Nama Customer tersebut tidak ada, atau ada kesalahan:n" + dataCustomer.getPesan();
}
} else {
keterangan = "Nama Customer masih kosong";
}
} else if (tombol.equals("Cari")) {
if (!namaCustomer.equals("")) {
if (dataCustomer.baca(namaCustomer)) {
namaCustomer = dataCustomer.getNamaCustomer();
alamatCustomer = dataCustomer.getAlamatCustomer();
telpon = dataCustomer.getTelpCustomer();
keterangan = "<br>";
} else {
keterangan = "Nama Customer tersebut tidak ada";
}
} else {
keterangan = "Nama Customer masih kosong";
}
} else if (tombol.equals("Pilih")) {
namaCustomer = namaCustomerDipilih;
alamatCustomer = "";
telpon = "";
if (!namaCustomerDipilih.equals("")) {
if (dataCustomer.baca(namaCustomerDipilih)) {
namaCustomer = dataCustomer.getNamaCustomer();
alamatCustomer = dataCustomer.getAlamatCustomer();
telpon = dataCustomer.getTelpCustomer();
keterangan = "<br>";
} else {
keterangan = "Nama Customer tersebut tidak ada";
}
} else {
keterangan = "Tidak ada yang dipilih";
}
}
String kontenLihat = "";
if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Setelah") || tombol.equals("Tampilkan")) {
kontenLihat += "<center>";
kontenLihat += "<div class='tbl'>";
kontenLihat += "<table>";
if (tombol.equals("Sebelum")) {
mulai -= jumlah;
if (mulai < 0) {
mulai = 0;
}
}
if (tombol.equals("Setelah")) {
mulai += jumlah;
}
Object[][] listDataCustomer = null;
if (dataCustomer.bacaData(mulai, jumlah)) {
listDataCustomer = dataCustomer.getList();
} else {
keterangan = dataCustomer.getPesan();
}
if (listDataCustomer != null) {
for (int i = 0; i < listDataCustomer.length; i++) {
kontenLihat += "<tr>";
kontenLihat += "<td>";
if (i == 0) {
kontenLihat += "<input type='radio' checked name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
} else {
kontenLihat += "<input type='radio' name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
}
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataCustomer[i][1].toString();
kontenLihat += "</td>";
kontenLihat += "</tr>";
}
}
kontenLihat += "</table>";
kontenLihat += "</div>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
kontenLihat += "Jumlah";
kontenLihat += "<select id='jml' name='jumlah'>";
for (int i = 1; i <= 10; i++) {
if (jumlah == (i * 10)) {
kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
} else {
kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
}
}
kontenLihat += "</select>";
kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
kontenLihat += "</center>";
}
String konten = "<center><h1>Master Data Customer</h1></center>";
konten += "<form action='DataCustomerController' method='post'>";
konten += "<label for='nama'><b>Nama Customer</b></label><br>";
konten += "<input type='text' value='" + namaCustomer + "' name='nama' maxlength='30' size='15' placeholder='Masukkan Nama Customer..' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";
konten += "<label for='telepon'><b>Telepon</b></label>";
konten += "<input type='tel' value='"+telpon+"' name='telepon' placeholder='Masukkan Nomor Telepon..'>";
konten += "<label for='alamat'><b>Alamat</b></label>";
konten += "<textarea name='alamat' rows='3' cols='30' placeholder='Masukkan Alamat..' style='font: unset;'>"+alamatCustomer+"</textarea>";
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
konten += kontenLihat;
konten += "</form>";
new MainForm().tampilkan(konten, request, response);
} else {
response.sendRedirect(".");
}
}
Output:
Data
User
Source
Code DataUserController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
DataUser dataUser = new DataUser();
Enkripsi enkripsi = new Enkripsi();
String userName = "";
String tombol = request.getParameter("tombol");
String namaUser = request.getParameter("nama");
String passwordUser = request.getParameter("password");
String mulaiParameter = request.getParameter("mulai");
String jumlahParameter = request.getParameter("jumlah");
String namaUserDipilih = request.getParameter("namaUserDipilih");
if (tombol == null) {
tombol = "";
}
if (namaUser == null) {
namaUser = "";
}
if (passwordUser == null) {
passwordUser = "";
}
if (namaUserDipilih == null) {
namaUserDipilih = "";
}
int mulai = 0, jumlah = 10;
try {
mulai = Integer.parseInt(mulaiParameter);
} catch (NumberFormatException ex) {
}
try {
jumlah = Integer.parseInt(jumlahParameter);
} catch (NumberFormatException ex) {
}
String keterangan = "<br>";
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (!((userName == null) || userName.equals(""))) {
if (tombol.equals("Simpan")) {
if (!namaUser.equals("")) {
dataUser.setUsername(namaUser);
String passwordEcrypted = "";
try {
passwordEcrypted = enkripsi.hashMD5(passwordUser);
} catch (Exception ex) {
}
dataUser.setPassword(passwordEcrypted);
if (dataUser.simpan()) {
namaUser = "";
passwordUser = "";
keterangan = "Sudah tersimpan";
} else {
keterangan = "Gagal menyimpan:n" + dataUser.getPesan();
}
} else {
keterangan = "Gagal menyimpan, username tidak boleh kosong";
}
} else if (tombol.equals("Hapus")) {
if (!namaUser.equals("")) {
if (dataUser.hapus(namaUser)) {
namaUser = "";
passwordUser = "";
keterangan = "Data sudah dihapus";
} else {
keterangan = "Username tersebut tidak ada, atau ada kesalahan:n" + dataUser.getPesan();
}
} else {
keterangan = "Username masih kosong";
}
} else if (tombol.equals("Cari")) {
if (!namaUser.equals("")) {
if (dataUser.baca(namaUser)) {
namaUser = dataUser.getUsername();
passwordUser = dataUser.getPassword();
keterangan = "<br>";
} else {
keterangan = "Username tersebut tidak ada";
}
} else {
keterangan = "Username masih kosong";
}
} else if (tombol.equals("Pilih")) {
namaUser = namaUserDipilih;
passwordUser = "";
if (!namaUserDipilih.equals("")) {
if (dataUser.baca(namaUserDipilih)) {
namaUser = dataUser.getUsername();
passwordUser = dataUser.getPassword();
keterangan = "<br>";
} else {
keterangan = "Username tersebut tidak ada";
}
} else {
keterangan = "Tidak ada yang dipilih";
}
}
String kontenLihat = "";
if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Berikutnya") || tombol.equals("Tampilkan")) {
kontenLihat += "<center>";
kontenLihat += "<div class='tbl'>";
kontenLihat += "<table>";
if (tombol.equals("Sebelum")) {
mulai -= jumlah;
if (mulai < 0) {
mulai = 0;
}
}
if (tombol.equals("Berikutnya")) {
mulai += jumlah;
}
Object[][] listDataUser = null;
if (dataUser.bacaData(mulai, jumlah)) {
listDataUser = dataUser.getList();
} else {
keterangan = dataUser.getPesan();
}
if (listDataUser != null) {
for (int i = 0; i < listDataUser.length; i++) {
kontenLihat += "<tr>";
kontenLihat += "<td>";
if (i == 0) {
kontenLihat += "<input type='radio' checked name='namaUserDipilih' value='" + listDataUser[i][0].toString() + "'>";
} else {
kontenLihat += "<input type='radio' name='namaUserDipilih' value='" + listDataUser[i][0].toString() + "'>";
}
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataUser[i][0].toString();
kontenLihat += "</td>";
kontenLihat += "</tr>";
}
}
kontenLihat += "</table>";
kontenLihat += "</div>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
kontenLihat += "Jumlah";
kontenLihat += "<select id='jml' name='jumlah'>";
for (int i = 1; i <= 10; i++) {
if (jumlah == (i * 10)) {
kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
} else {
kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
}
}
kontenLihat += "</select>";
kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
kontenLihat += "</center>";
}
String konten = "<center><h1>Master Data User</h1></center>";
konten += "<form action='DataUserController' method='post'>";
konten += "<label for='nama'><b>Username</b></label><br>";
konten += "<input type='text' value='" + namaUser + "' name='nama' maxlength='30' placeholder='Masukkan Username..' size='15' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";
konten += "<label for='nama'><b>Passsword</b></label>";
konten += "<input type='password' name='password' value='" + passwordUser + "' size='15' placeholder='Masukkan Password..'>";
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
konten += kontenLihat;
konten += "</form>";
new MainForm().tampilkan(konten, request, response);
} else {
response.sendRedirect(".");
}
Output:
Membuat Form Data Transaksi (PenjualanTiket)
Source
Code PenjualanTiketController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
DataCustomer dataCustomer = new DataCustomer();
DataTiket dataTiket = new DataTiket();
PenjualanTiket rentalTiket = new PenjualanTiket();
Date tgl = new Date();
int idCustomer = 0;
long total = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String userName = "";
String tombol = request.getParameter("tombol");
String tombolHitung = request.getParameter("hitung");
String tombolCustomer = request.getParameter("tombolCustomer");
String kodePenjualanTiket = request.getParameter("kodePenjualanTiket");
String namaCustomer = request.getParameter("namaCustomer");
String tanggal = request.getParameter("tanggal");
String kasir = request.getParameter("kasir");
String mulaiParameter = request.getParameter("mulai");
String jumlahParameter = request.getParameter("jumlah");
String namaCustomerDipilih = request.getParameter("namaCustomerDipilih");
String tombolDataTiket = request.getParameter("tombolDataTiket");
String kodeTiket = request.getParameter("kodeTiket");
String maskapai = request.getParameter("maskapai");
String hargaTiket = request.getParameter("hargaTiket");
String kotaAsal = request.getParameter("kotaAsal");
String kotaTujuan = request.getParameter("kotaTujuan");
String kodeTiketDipilih = request.getParameter("kodeTiketDipilih");
String jml = request.getParameter("jml");
if (tombol == null) {
tombol = "";
}
if (kodePenjualanTiket == null) {
kodePenjualanTiket = "";
}
if (tombolHitung == null) {
tombolHitung = "";
}
if (tombolCustomer == null) {
tombolCustomer = "";
}
if (namaCustomer == null) {
namaCustomer = "";
}
if (tanggal == null) {
tanggal = sdf.format(tgl);
}
if (kasir == null) {
kasir = "kasir";
}
if (namaCustomerDipilih == null) {
namaCustomerDipilih = "";
}
if (tombolDataTiket == null) {
tombolDataTiket = "";
}
if (kodeTiket == null) {
kodeTiket = "";
}
if (maskapai == null) {
maskapai = "";
}
if (hargaTiket == null) {
hargaTiket = "0";
}
if (kotaAsal == null) {
kotaAsal = "";
}
if (kotaTujuan == null) {
kotaTujuan = "";
}
if (kodeTiketDipilih == null) {
kodeTiketDipilih = "";
}
if (jml == null) {
jml = "0";
}
int mulai = 0, jumlah = 10;
try {
mulai = Integer.parseInt(mulaiParameter);
} catch (NumberFormatException ex) {
}
try {
jumlah = Integer.parseInt(jumlahParameter);
} catch (NumberFormatException ex) {
}
String keterangan = "<br>";
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex) {
}
if (!((userName == null) || userName.equals(""))) {
kasir = userName;
if (tombolCustomer.equals("Cari")) {
if (!namaCustomer.equals("")) {
if (dataCustomer.baca(namaCustomer)) {
namaCustomer = dataCustomer.getNamaCustomer();
idCustomer = dataCustomer.getIdCustomer();
keterangan = "<br>";
} else {
tanggal = sdf.format(tgl);
kasir = "kasir";
keterangan = "Nama Customer: <i>" + namaCustomer + "</i> tidak ada";
}
} else {
keterangan = "Nama Customer harus diisi";
}
} else if (tombolCustomer.equals("Pilih")) {
namaCustomer = namaCustomerDipilih;
tanggal = sdf.format(tgl);
if (!namaCustomerDipilih.equals("")) {
if (dataCustomer.baca(namaCustomerDipilih)) {
namaCustomer = dataCustomer.getNamaCustomer();
idCustomer = dataCustomer.getIdCustomer();
keterangan = "<br>";
} else {
keterangan = "Nama Customer: <i>" + namaCustomer + "</i> tidak ada";
}
} else {
keterangan = "Tidak ada yang dipilih";
}
}
String kontenLihat = "";
if (tombolCustomer.equals("Lihat") || tombolCustomer.equals("Sebelum") || tombolCustomer.equals("Berikutnya") || tombolCustomer.equals("Tampilkan")) {
kontenLihat += "<center>";
kontenLihat += "<div class='tbl'>";
kontenLihat += "<table>";
if (tombolCustomer.equals("Sebelum")) {
mulai -= jumlah;
if (mulai < 0) {
mulai = 0;
}
}
if (tombolCustomer.equals("Berikutnya")) {
mulai += jumlah;
}
Object[][] listDataCustomer = null;
if (dataCustomer.bacaData(mulai, jumlah)) {
listDataCustomer = dataCustomer.getList();
} else {
keterangan = dataCustomer.getPesan();
}
if (listDataCustomer != null) {
for (int i = 0; i < listDataCustomer.length; i++) {
kontenLihat += "<tr>";
kontenLihat += "<td>";
if (i == 0) {
kontenLihat += "<input type='radio' checked name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
} else {
kontenLihat += "<input type='radio' name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
}
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataCustomer[i][1].toString();
kontenLihat += "</td>";
kontenLihat += "</tr>";
}
}
kontenLihat += "</table>";
kontenLihat += "</div>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "<input id='sebelum' type='submit' name='tombolCustomer' value='Sebelum'>";
kontenLihat += "<input id='pilih' type='submit' name='tombolCustomer' value='Pilih'>";
kontenLihat += "<input id='sesudah' type='submit' name='tombolCustomer' value='Berikutnya'>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
kontenLihat += "Jumlah";
kontenLihat += "<select id='jml' name='jumlah'>";
for (int i = 1; i <= 10; i++) {
if (jumlah == (i * 10)) {
kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
} else {
kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
}
}
kontenLihat += "</select>";
kontenLihat += "<input id='tampil' type='submit' name='tombolCustomer' value='Tampilkan'>";
kontenLihat += "</center>";
}
if (tombolDataTiket.equals("Cari")) {
if (!kodeTiket.equals("")) {
if (dataTiket.baca(kodeTiket)) {
kodeTiket = dataTiket.getKodeTiket();
maskapai = dataTiket.getMaskapai();
kotaAsal = dataTiket.getKotaAsal();
kotaTujuan = dataTiket.getKotaTujuan();
hargaTiket = Long.toString(dataTiket.getHargaTiket());
keterangan = "<br>";
} else {
keterangan = "Kode Barang tersebut tidak ada";
}
} else {
keterangan = "Kode Barang masih kosong";
}
} else if (tombolDataTiket.equals("Pilih")) {
kodeTiket = kodeTiketDipilih;
maskapai = "";
hargaTiket = "0";
jml = "0";
if (!kodeTiketDipilih.equals("")) {
if (dataTiket.baca(kodeTiketDipilih)) {
kodeTiket = dataTiket.getKodeTiket();
maskapai = dataTiket.getMaskapai();
kotaAsal = dataTiket.getKotaAsal();
kotaTujuan = dataTiket.getKotaTujuan();
hargaTiket = Long.toString(dataTiket.getHargaTiket());
keterangan = "<br>";
} else {
keterangan = "Kode barang tersebut tidak ada";
}
} else {
keterangan = "Tidak ada yang dipilih";
}
}
if (tombolDataTiket.equals("Lihat") || tombolDataTiket.equals("Sebelum") || tombolDataTiket.equals("Berikutnya") || tombolDataTiket.equals("Tampilkan")) {
kontenLihat += "<center>";
kontenLihat += "<div class='tbl'>";
kontenLihat += "<table>";
if (tombolDataTiket.equals("Sebelum")) {
mulai -= jumlah;
if (mulai < 0) {
mulai = 0;
}
}
if (tombolDataTiket.equals("Berikutnya")) {
mulai += jumlah;
}
Object[][] listDataTiket = null;
if (dataTiket.bacaData(mulai, jumlah)) {
listDataTiket = dataTiket.getList();
} else {
keterangan = dataTiket.getPesan();
}
if (listDataTiket != null) {
for (int i = 0; i < listDataTiket.length; i++) {
kontenLihat += "<tr>";
kontenLihat += "<td>";
if (i == 0) {
kontenLihat += "<input type='radio' checked name='kodeTiketDipilih' value='" + listDataTiket[i][0].toString() + "'>";
} else {
kontenLihat += "<input type='radio' name='kodeTiketDipilih' value='" + listDataTiket[i][0].toString() + "'>";
}
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][0].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][1].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][2].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][3].toString();
kontenLihat += "</td>";
kontenLihat += "<td>";
kontenLihat += listDataTiket[i][5].toString();
kontenLihat += "</td>";
kontenLihat += "</tr>";
}
}
kontenLihat += "</table>";
kontenLihat += "</div>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "<input id='sblm' type='submit' name='tombolDataTiket' value='Sebelum'>";
kontenLihat += "<input id='plh' type='submit' name='tombolDataTiket' value='Pilih'>";
kontenLihat += "<input id='ssdh' type='submit' name='tombolDataTiket' value='Berikutnya'>";
kontenLihat += "</center>";
kontenLihat += "<center>";
kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
kontenLihat += "Jumlah";
kontenLihat += "<select id='jml' name='jumlah'>";
for (int i = 1; i <= 10; i++) {
if (jumlah == (i * 10)) {
kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
} else {
kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
}
}
kontenLihat += "</select>";
kontenLihat += "<input id='tampil' type='submit' name='tombolDataTiket' value='Tampilkan'>";
kontenLihat += "</center>";
}
if (!tombol.equals("")) {
if (tombol.equals("Simpan")) {
if (!namaCustomer.equals("") && !kodeTiket.equals("")) {
rentalTiket.setKodePenjualan(kodePenjualanTiket);
dataCustomer.setNamaCustomer(namaCustomer);
if(dataCustomer.baca(namaCustomer)){
idCustomer=dataCustomer.getIdCustomer();
}
rentalTiket.setListPenjualan(new Object[][]{{kodePenjualanTiket, tanggal, idCustomer, kasir, kodeTiket, Integer.parseInt(jml)}});
if (rentalTiket.simpan()) {
//namaCustomer = "";
tanggal = sdf.format(tgl);
kasir = userName;
kodeTiket = "";
maskapai = "";
hargaTiket = "0";
jml="0";
keterangan = "Sudah disimpan";
} else {
keterangan = "Gagal menyimpan:n" + rentalTiket.getPesan();
}
} else {
keterangan = "Kode RentalTiket, Nama Customer dan kode barang tidak boleh kosong";
}
} else if (tombol.equals("Hapus")) {
if (!namaCustomer.equals("") && !kodeTiket.equals("")) {
if (rentalTiket.hapus(kodePenjualanTiket, kodeTiket)) {
kodePenjualanTiket="";
namaCustomer = "";
tanggal = sdf.format(tgl);
kasir = userName;
kodeTiket = "";
maskapai = "";
hargaTiket = "0";
jml = "0";
keterangan = "Sudah dihapus";
} else {
keterangan = "Gagal menghapus:n" + rentalTiket.getPesan();
}
} else {
keterangan = "Kode RentalTiket, Nama Customer dan kode barang tidak boleh kosong";
}
}else if(tombol.equals("Reset")){
kodePenjualanTiket="";
namaCustomer = "";
tanggal = sdf.format(tgl);
kasir = userName;
kodeTiket = "";
maskapai = "";
hargaTiket = "0";
jml = "0";
}
}
String konten = "<center><h1>Input Data Rental Tiket</h1></center>";
konten += "<form action='PenjualanTiketController' method='post'>";
konten += "<label for='kodePenjualanTiket'><b>No. Penjualan Tiket</b></label><br>";
konten += "<input type='text' value='" + kodePenjualanTiket + "' maxlength='15' name='kodePenjualanTiket' placeholder='Masukkan Kode Penjualan Tiket ..'>";
konten += "<label for='namaCustomer'><b>Nama Customer</b></label><br>";
konten += "<input type='text' value='" + namaCustomer + "' name='namaCustomer' maxlength='15' placeholder='Masukkan Nama Customer ..' style='width: 59%'>";
konten += "<input type='submit' name='tombolCustomer' value='Cari' style='width: 19%; margin: 5px'><input type='submit' name='tombolCustomer' value='Lihat' style='width: 19%'>";
if (!tombolCustomer.equals("")) {
if (!keterangan.equals("<br>")) {
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
}
konten += kontenLihat;
}
konten += "<label for='tanggal'><b>Tanggal</b></label>";
konten += "<input type='date' readonly value='" + tanggal + "' name='tanggal'>";
konten += "<label for='kasir'><b>Kasir</b></label>";
konten += "<input type='text' readonly value='" + kasir + "' name='kasir'>";
konten += "<label for='kodeTiket'><b>Kode Tiket</b></label><br>";
konten += "<input type='text' value='" + kodeTiket + "' name='kodeTiket' maxlength='15' placeholder='Masukkan Kode Tiket..' style='width: 59%'>";
konten += "<input type='submit' name='tombolDataTiket' value='Cari' style='width: 19%; margin: 5px'><input type='submit' name='tombolDataTiket' value='Lihat' style='width: 19%'>";
if (!tombolDataTiket.equals("")) {
if (!keterangan.equals("<br>")) {
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
}
konten += kontenLihat;
}
konten += "<label for='maskapai'><b>Nama Maskapai</b></label>";
konten += "<input type='text' readonly value='" + maskapai + "' name='maskapai' placeholder='Nama Maskapai..'>";
konten += "<label for='kotaAsal'><b>Kota Asal</b></label>";
konten += "<input type='text' readonly value='" + kotaAsal + "' name='kotaAsal' placeholder='Kota Asal..'>";
konten += "<label for='kotaTujuan'><b>Kota Tujuan</b></label>";
konten += "<input type='text' readonly value='" + kotaTujuan + "' name='kotaTujuan' placeholder='Kota Tujuan..'>";
konten += "<label for='hargaTiket'><b>Harga Rp.</b></label>";
konten += "<input type='number' readonly value='" + hargaTiket + "' name='hargaTiket'>";
konten += "<label for='jml'><b>Jumlah Unit</b></label>";
konten += "<input type='number' min='0' value='" + jml + "' name='jml' placeholder='Masukkan Jumlah Unit ..'>";
int nilaiJml = 0;
long nilaiHarga = 0;
try {
nilaiJml = Integer.parseInt(jml);
} catch (NumberFormatException ex) {
}
try {
nilaiHarga = Long.parseLong(hargaTiket);
} catch (NumberFormatException ex) {
}
if (tombolHitung.equalsIgnoreCase("Hitung")) {
total = nilaiHarga * nilaiJml;
}
konten += "<label for='bayar'><b>Total Rp.</b></label><br>";
konten += "<input type='number' min='0' name='bayar' readonly value='" + Long.toString(total) + "' style='width: 70%'>"
+ "<input type='submit' name='hitung' value='Hitung' style='width: 28%; float: right'>";
konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
konten += "<input id='lihat' type='submit' name='tombol' value='Reset'></center>";
if (!tombol.equals("") && !keterangan.equals("<br>")) {
konten += "<tr>";
konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
konten += "</tr>";
}
konten += "</form>";
new MainForm().tampilkan(konten, request, response);
} else {
response.sendRedirect(".");
}
}
Output:
Membuat Laporan
Laporan
Penjualan Tiket
Source
Code LaporanPenjualanTiketController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String[][] formatTypeData = {{"PDF (Portable Document Format)","pdf","application/pdf"},
{"XLSX (Microsoft Excel)","xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
{"XLS (Microsoft Excel 97-2003)","xls","application/vnd.ms-excel"},
{"DOCX (Microsoft Word)","docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
{"ODT (OpenDocument Text)","odt","application/vnd.oasis.opendocument.text"},
{"RTF (Rich Text Format)","rtf","text/rtf"}};
Date tgl=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
HttpSession session = request.getSession(true);
String userName = "";
String tombol = request.getParameter("tombol");
String opsi = request.getParameter("opsi");
String kodePenjualanTiket = request.getParameter("koderental");
String awalStr = request.getParameter("awal");
String akhirStr=request.getParameter("akhir");
String kelas = request.getParameter("kelas");
String formatType = request.getParameter("formatType");
if (tombol==null) tombol="";
if (kodePenjualanTiket==null) kodePenjualanTiket="";
if (opsi==null) opsi="";
if (awalStr==null) awalStr="0";
if (akhirStr==null) akhirStr="0";
if (formatType==null) kelas="";
String keterangan = "<br>";
int noType = 0;
for (int i=0; i<formatTypeData.length; i++){
if (formatTypeData[i][0].equals(formatType)){
noType = i;
}
}
try {
userName = session.getAttribute("userName").toString();
} catch (Exception ex){}
if (!((userName == null) || userName.equals(""))){
boolean opsiSelected = false;
if (tombol.equals("Cetak")){
PenjualanTiket rentalMobil = new PenjualanTiket();
Date awal=new Date(), akhir=new Date();
if (rentalMobil.cetakLaporan(opsi, kodePenjualanTiket, awalStr, akhirStr, formatTypeData[noType][1], getServletConfig().getServletContext().getRealPath("reports/PenjualanTiket.jrxml"))){
byte[] pdfasbytes = rentalMobil.getPdfasbytes();
try (OutputStream outStream = response.getOutputStream()) {
response.setHeader("Content-Disposition","inline; filename=LaporanPenjualanTiketMobil."+formatTypeData[noType][1]);
response.setContentType(formatTypeData[noType][2]);
response.setContentLength(pdfasbytes.length);
outStream.write(pdfasbytes,0,pdfasbytes.length);
outStream.flush();
outStream.close();
}
} else {
keterangan += rentalMobil.getPesan();
}
}
String konten = "<center><h1>Mencetak Laporan Penjualan Tiket</h1></center>";
konten += "<form action='LaporanPenjualanTiketController' method='post'>";
konten += "<table>";
konten += "<tr>";
if (opsi.equalsIgnoreCase("koderental")){
konten += "<td align='right'><input type='radio' checked name='opsi' value='koderental'></td>";
opsiSelected = true;
} else {
konten += "<td align='right'><input type='radio' name='opsi' value='koderental'></td>";
}
konten += "<td align='left'>Kode Penjualan Tiket</td>";
konten += "<td align='left'><input type='text' value='"+kodePenjualanTiket+"' name='koderental' maxlength='15' size='15' placeholder='Masukkan Kode PenjualanTiket'></td>";
konten += "</tr>";
konten += "<tr>";
if(opsi.equalsIgnoreCase("tanggal")){
konten+="<td align='right'><input type='radio' checked name='opsi' value='tanggal'></td>";
opsiSelected=true;
}else{
konten+="<td align='right'><input type='radio' name='opsi' value='tanggal'></td>";
}
konten+="<td align='left'>Tanggal</td>";
konten+="<td align='left'>"
+ "<input type='date' name='awal' value='"+sdf.format(tgl)+"' style='width: 47%'> - "
+ "<input type='date' name='akhir' value='"+sdf.format(tgl)+"' style='width: 47%'>"
+ "</td>";
konten += "</tr>";
konten += "<tr>";
if (!opsiSelected){
konten += "<td align='right'><input type='radio' checked name='opsi' value='Semua'></td>";
} else {
konten += "<td align='right'><input type='radio' name='opsi' value='Semua'></td>";
}
konten += "<td align='left'>Semua</td>";
konten += "<td><br></td>";
konten += "</tr>";
konten += "<tr>";
konten += "<td colspan='3'><br></td>";
konten += "</tr>";
konten += "<tr>";
konten += "<td>Format Laporan</td>";
konten += "<td colspan=2>";
konten += "<select name='formatType'>";
for (String[] formatLaporan : formatTypeData){
if (formatLaporan[0].equals(formatType)){
konten += "<option selected value='"+formatLaporan[0]+"'>"+formatLaporan[0]+"</option>";
} else {
konten += "<option value='"+formatLaporan[0]+"'>"+formatLaporan[0]+"</option>";
}
}
konten += "</select>";
konten += "</td>";
konten += "</tr>";
konten += "<tr>";
konten += "<td colspan='3'><b>"+keterangan.replaceAll("n", "<br>").replaceAll(";", ",")+"</b></td>";
konten += "</tr>";
konten += "<tr>";
konten += "<td colspan='3' align='center'><input type='submit' name='tombol' value='Cetak' style='width: 100px'></td>";
konten += "</tr>";
konten += "</table>";
konten += "</form>";
new MainForm().tampilkan(konten, request, response);
} else {
response.sendRedirect(".");
} }
PenjualanTiket.jrxml
Output:
Laporan Stok Tiket
StokTiket.jrxml
Output:




Comments